﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using libConexionBD;
namespace ProyectoIngenieriaSoftware
{
    public class clsinventaromia
    {
        #region"Atributos"
        private Int32 intCodigoProducto;
        private String strNombreProducto;


        private Int32 intUnidadesDiponibles;
        private Int32 intUbicacionBodega;

        private String strError;
        private String strsql;


        #endregion
        #region"Propiedades"
        public Int32 CodigoProduto
        {
            get { return intCodigoProducto; }
            set { intCodigoProducto = value; }
        }
        public String NombreProducto
        {
            get { return strNombreProducto; }
            set { strNombreProducto = value; }
        }
        public Int32 UnidadesDiponibles
        {
            get { return intUnidadesDiponibles; }
            set { intUnidadesDiponibles = value; }
        }
        public Int32 UbicacionBodega
        {
            get { return intUbicacionBodega; }
            set { intUbicacionBodega = value; }
        }
        public string Error
        {
            get { return strError; }
            set { strError = value; }
        }
        #endregion
        #region"MetodosPublicos"
        public bool Ingresar()
        {
            if (Validar())
            {
                clsConexionBD objConexionBD = new clsConexionBD();

                strsql = "Execute Inv_insert '" + intCodigoProducto + "','" + strNombreProducto + "','" + intUnidadesDiponibles + "','" + intUbicacionBodega + "'";

                objConexionBD.SQL = strsql;
                if (objConexionBD.EjecutarSentencia(false))
                {
                    objConexionBD.CerrarConexion();
                    objConexionBD = null;
                    return true;
                }
                else
                {
                    strError = objConexionBD.Error;
                    objConexionBD.CerrarConexion();
                    objConexionBD = null;
                    return false;
                }

            }
            else
            {
                return false;
            }

        }

   
        public bool Consultarexistencia()
        {
            clsConexionBD objConexionBD = new clsConexionBD();
            strsql = " Execute ainventario '" + intCodigoProducto + "'";
            objConexionBD.SQL = strsql;

            if (objConexionBD.Consultar(false))
            {
                if (objConexionBD.Reader.HasRows)
                {
                    objConexionBD.Reader.Read();

                    intUnidadesDiponibles = objConexionBD.Reader.GetInt32(0);
                    intUbicacionBodega = objConexionBD.Reader.GetInt32(1);
                    return true;
                }
                else
                {
                    strError = "No hay datos";
                    objConexionBD.CerrarConexion();
                    objConexionBD = null;
                    return false;
                }
            }
            else
            {
                strError = objConexionBD.Error;
                objConexionBD = null;
                return false;
            }

        }

        #endregion
        #region"MetodosPrivados"
        private bool Validar()
        {
            if (intCodigoProducto == 0)
            {
                strError = "Falta ingresar el Codigo";
                return false;
            }
         

            if (strNombreProducto == "")
            {
                strError = "Falta ingresar el Nombre";
                return false;
            }
            

            if (intUnidadesDiponibles == 0)
            {
                strError = "Falta ingresar El numero de unidades disponibles";
                return false;
            }
        
            if (intUbicacionBodega == 0)
            {
                strError = "Falta ingresar la ubicacion del producto";
                return false;
            }
            return true;
        }
        #endregion
    }
}